package testmod

//https://roberto.selbach.dev/intro-to-go-modules/

import "fmt"

/**
第一步：创建一个包和go文件，然后go mod
The package is done but it is still not a module. Let’s change that.
//需要先开启一下
go mod init: modules disabled by GO111MODULE=off; see 'go help modules'

F:\001------Code\GOPATH\src\testmod>go mod init testmod
go: creating new go.mod: module testmod

执行之后，当前项目下会创建一个go.mod文件
module testmod

go 1.14

第二步：提交代码库，并通过go get 下载

[root@localhost GOPATH]# go get gitee.com/xujianpeng/testmod
can't load package: package gitee.com/xujianpeng/testmod: no Go files in /root/GOPATH/src/gitee.com/xujianpeng/testmod

说明这个package是基于报名的，而不是项目名称！！！
如下就可以了
go get gitee.com/xujianpeng/testmod/testmodpkg



因为GO111MODULE="auto"  所以才会下载到如下目录
/root/GOPATH/src/gitee.com/xujianpeng/testmod/testmodpkg


如果是GO111MODULE="on"  那么会报错如下
F:\001------Code\GOPATH\src\go-learning>go get gitee.com/xujianpeng/testmod/testmodpkg
go: downloading gitee.com/xujianpeng/testmod v0.0.0-20210304081732-1359568fb2f6
go: found gitee.com/xujianpeng/testmod/testmodpkg in gitee.com/xujianpeng/testmod v0.0.0-20210304081732-1359568fb2f6
go get: gitee.com/xujianpeng/testmod@v0.0.0-20210304081732-1359568fb2f6: reading https://mirrors.aliyun.com/goproxy/gitee.com/xujianpeng/testmod/@v/v0.0
.0-20210304081732-1359568fb2f6.mod: 504 Gateway Timeout

最后发现，是因为该项目go.mod是原先生成的，其实这个package已经变成testmodpkg，而不是项目名称testmod。。。所以会报错
但是实际上已经下载下来了。。。。
F:\001------Code\GOPATH\pkg\mod\gitee.com\xujianpeng\testmod@v0.0.0-20210304081732-1359568fb2f6\testmodpkg
很是神奇，应该是go.mod没对应上的问题？？？导致循环下载？？？，改正go.mod再试试

F:\001------Code\GOPATH\src\go-learning>go get gitee.com/xujianpeng/testmod/testmodpkg
go: downloading gitee.com/xujianpeng/testmod v0.0.0-20210304084212-719e8ffd2a5d
go: found gitee.com/xujianpeng/testmod/testmodpkg in gitee.com/xujianpeng/testmod v0.0.0-20210304084212-719e8ffd2a5d
go get: gitee.com/xujianpeng/testmod@v0.0.0-20210304084212-719e8ffd2a5d: parsing go.mod:
        module declares its path as: testmodpkg
                but was required as: gitee.com/xujianpeng/testmod

又多下载了一个版本，说明如果目标mod没有版本的话，这里就会生成hash值


go mod init testmod/testmodpkg  这种才对。。。最终生成的是如下
module testmod/testmodpkg

go 1.14



F:\001------Code\GOPATH\src\testmod>go mod init gitee.com/xujianpeng/testmod
go: creating new go.mod: module gitee.com/xujianpeng/testmod






尝试用go-learning 项目测试一下



*/
// Hi returns a friendly greeting
func Hi(name string) string {
	return fmt.Sprintf("Hi, %s", name)
}
